Page History: Jetfire vs CSharp
Compare Page Revisions
Page Revision: 2009/10/11 21:50
Jetfire vs CSharp Differences Overview
Jetfire's core syntax is identical to C#. Jetfire contains
extensions to the .net C# language to simplify programming. To reduce the complexity of the programming model certain aspects of the .net C# language are not required in Jetfire.
Jetfire Extensions
Jetfire has a number of
first class constructs not in C#. Code examples can be found at
the Jetfire CodePlex site.
C Sharp features vs Jetfire
The tables below compare C# with Jetfire.
General
General | C Sharp | Jetfire |
---|
Class construct | 'class' | 'workflow' |
struct | yes | no |
properties | yes | yes |
methods | yes(see table) | yes (see table) |
constructors | yes(see table) | yes (see table) |
control statements | yes(see table) | yes (see table) |
arithmetic operations | yes(see table) | yes (see table) |
intrinsic types | yes | yes |
static | yes | yes |
private | yes | yes |
public | yes | yes |
dynamic access modifiers | no | yes |
states | no | yes |
access | no | yes |
internal and protected | yes | yes |
reflection | c# reflection | Jetfire easy reflection planned |
Methods
Methods | C Sharp | Jetfire |
---|
'static' keyword | yes | yes |
overloading | yes | yes |
overriding | yes | under construction |
'override' keyword | yes | planned |
'virtual' keyword | yes | planned |
'new' keyword | yes | planned |
'base.x' construct | yes | planned |
'this.x' construct | yes | yes |
'out' construct | yes | yes |
'ref' construct | yes | yes |
'return' statement | yes | yes |
'void' type | yes | yes |
Constructors
Methods | C Sharp | Jetfire |
---|
'static' keyword | yes | yes |
overloading | yes | yes |
':this()' construct | yes | yes |
':base()' construct | yes | yes |
Control
Control | C Sharp | Jetfire |
---|
if, else | yes | yes |
for | yes | yes |
while | yes | yes |
for-while | yes | planned |
foreach | yes | yes |
'lock' | yes | not required |
'continue' | yes | yes |
'break' | yes | yes |
'throw' | yes | yes |
'try-catch' | yes | planned |
Intrinsic/Built-in Types
| C Sharp | Jetfire |
---|
byte | yes | yes |
bool | yes | yes |
char | yes | planned |
decimal | yes | planned |
enum | yes | yes |
double | yes | yes |
float | yes | planned |
int | yes | yes |
int16 | yes | yes (short) |
int32 | yes | yes (int) |
int64 | yes | yes (long) |
long | yes | yes |
object | yes | under construction |
sbyte | yes | yes |
short | yes | yes |
string | yes | yes |
string: mulit-language | no | yes |
uint | yes | yes |
uint16 | yes | yes (ushort) |
uint32 | yes | yes (uint) |
uint64 | yes | yes (ulong) |
ulong | yes | yes |
ushort | yes | yes |
var | yes | yes (object) |
true dynamic type | no | object |
Operators
C# operators
Primary
| C Sharp | Jetfire |
---|
x.y dot | yes . | yes |
f(x) order | yes | yes |
x[index] | yes | yes |
x++ | yes | planned |
x-- | yes | planned |
new | yes | yes |
typeof | yes | planned |
checked | yes | planned |
unchecked | yes | planned |
-> | yes | yes - builtin |
Unary
| C Sharp | Jetfire |
---|
+ | yes | yes |
'-' negation | yes | yes |
'!' logical negation | yes | yes |
'~' | yes | planned |
'++x' | yes | planned |
'--x' | yes | planned |
'(T)x' cast | yes | not required |
'true' | yes | yes |
'false' | yes | yes |
'&' | yes | yes |
'sizeof' | yes | planned |
Multiplicative
| C Sharp | Jetfire |
---|
'/' divide | yes | yes |
'*' multiply | yes | yes |
'%' remainder | yes | yes |
Additive
| C Sharp | Jetfire |
---|
'+' add | yes | yes |
'-' subtract | yes | yes |
Shift
| C Sharp | Jetfire |
---|
<< | yes | planned |
>> | yes | planned |
Relational and type testing¶
| C Sharp | Jetfire |
---|
'<' less than | yes | yes |
'>' greater than | yes | yes |
'<=' less than or equal | yes | yes |
'>=' greater than or equal | yes | yes |
'is' | yes | planned |
'as' | yes | planned |
Equality
| C Sharp | Jetfire |
---|
== | yes | yes |
!= | yes | yes |
Logical AND¶
Logical XOR
Logical OR
Conditional AND¶
Conditional OR
Conditional
| C Sharp | Jetfire |
---|
'?:' | yes | planned |
Assignment
| C Sharp | Jetfire |
---|
"=" | yes | yes |
"+=" | yes | yes |
"-=" | yes | yes |
"*=" | yes | yes |
"/=" | yes | yes |
"%=" | yes | yes |
"|=" | yes | yes |
"^=" | yes | yes |
"<<=" | yes | planned |
">>=" | yes | planned |
"??=" | yes | planned |